Imported Upstream version 3.11.2
authorStephane Glondu <steph@glondu.net>
Wed, 20 Jan 2010 17:31:17 +0000 (18:31 +0100)
committerStephane Glondu <steph@glondu.net>
Wed, 20 Jan 2010 17:31:17 +0000 (18:31 +0100)
22 files changed:
Changes
README.win32
VERSION
boot/ocamlc
boot/ocamldep
boot/ocamllex
build/boot-c-parts-windows.sh
build/install.sh
build/mkmyocamlbuild_config.sh
bytecomp/bytelink.ml
byterun/interp.c
config/Makefile.mingw
config/Makefile.msvc
config/Makefile.msvc64
debugger/.depend
debugger/Makefile.shared
lex/Makefile.nt
myocamlbuild.ml
otherlibs/threads/.depend
tools/.cvsignore
tools/ocamlmklib.mlp
typing/typedecl.ml

diff --git a/Changes b/Changes
index ac97c78406f5420db36de15b0cf1cd05b713e2bf..7e81eeeb18e6f24b9196fe63ea9d13b66a3753dd 100644 (file)
--- a/Changes
+++ b/Changes
@@ -7,6 +7,7 @@ Bug fixes:
 - PR#4710, PR#4720: ocamlbuild does not use properly configuration information
 - PR#4750: under some Windows installations, high start-up times for Unix lib
 - PR#4777: problem with scanf and CRLF
+- PR#4783: ocamlmklib problem under Windows
 - PR#4810: BSD problem with socket addresses, e.g. in Unix.getnameinfo
 - PR#4813: issue with parsing of float literals by the GNU assembler
 - PR#4816: problem with modules and private types
@@ -27,9 +28,13 @@ Bug fixes:
 - PR#4922: ocamlbuild recompiles too many files
 - PR#4923: missing \xff for scanf %S
 - PR#4933: functors not handling private types correctly
+- PR#4940: problem with end-of-line in DOS text mode, tentative fix
+- PR#4953: problem compiling bytecode interpreter on ARM in Thumb mode.
+- PR#4955: compiler crash when typing recursive type expression with constraint
 - Module Printf: the simple conversion %F (without width indication) was not
            treated properly.
 - Makefile: problem with cygwin, flexdll, and symbolic links
+- Various build problems with ocamlbuild under Windows with msvc
 
 Feature wishes:
 - PR#9: (tentative implementation) make ocamldebug use #linenum annotations
@@ -2488,4 +2493,4 @@ Caml Special Light 1.06:
 
 * First public release.
 
-$Id: Changes 9482 2009-12-22 13:32:12Z doligez $
+$Id: Changes 9536 2010-01-20 11:44:20Z doligez $
index 7eac6f262b706f77e85ff8d604fce220fd67ec15..bb6b31d90c7d99b7e5a3ce9f129791c88c0e4b0f 100644 (file)
@@ -61,7 +61,7 @@ Microsoft Visual C++ compiler (items [1] and [2] in the section
 The native-code compiler (ocamlopt) requires Visual C++ (items [1], [2]),
 the Microsoft assembler MASM (item [3]) and the flexdll tool (item [5]).
 
-The LablTk GUI requires Tcl/Tk 8.4 (item [4]).
+The LablTk GUI requires Tcl/Tk 8.5 (item [4]).
 
 
 INSTALLATION:
@@ -70,33 +70,34 @@ The binary distribution is a self-installing executable archive.
 Just run it and it should install OCaml automatically.
 
 To run programs that use the LablTK GUI, the directory where the
-DLLs tk84.dll and tcl84.dll were installed (by the Tcl/Tk
+DLLs tk85.dll and tcl85.dll were installed (by the Tcl/Tk
 installer) must be added to the PATH environment variable.
 
 To compile programs that use the LablTK GUI, the directory where the
-libraries tk84.lib and tcl84.lib were installed (by the Tcl/Tk
+libraries tk85.lib and tcl85.lib were installed (by the Tcl/Tk
 installer) must be added to the library search path in the LIB
 environment variable.  E.g. if Tcl/Tk was installed in C:\tcl, add
 "C:\tcl\lib" to the LIB environment variable.
 
 THIRD-PARTY SOFTWARE:
 
-[1] Visual C++ version 2005, 2003, or 6.
-    We use Visual C++ 2005 Express Edition, which can be downloaded for free
+[1] Visual C++ version 2008, 2005, 2003, or 6.
+    We use Visual C++ 2008 Express Edition, which can be downloaded for free
     from http://www.microsoft.com.
 
-[2] Windows header files and development libraries.  We found them in
-    the Microsoft Windows Server 2003 SP1 Platform SDK, which can
-    be downloaded for free from http://www.microsoft.com/.
+[2] Windows header files and development libraries.  They are included
+    in the Visual C++ 2008 Express Edition distribution.
+    Otherwise, you can find them in the Windows Platform SDK,
+    which can be downloaded for free from http://www.microsoft.com/.
 
 [3] MASM version 6.11 or later. The full distribution of Visual C++ 2005
-    contains MASM version 8.  Users of the Express Edition of Visual C++
+    or 2008 contains MASM version 8.  Users of the Express Edition of Visual C++
     2005 can download MASM version 8 from
 http://www.microsoft.com/downloads/details.aspx?FamilyID=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en
     To obtain MASM version 6.11, see
     http://users.easystreet.com/jkirwan/new/pctools.html. 
 
-[4] TCL/TK version 8.4.  Windows binaries are available as part of the
+[4] TCL/TK version 8.5.  Windows binaries are available as part of the
     ActiveTCL distribution at http://www.activestate.com/products/ActiveTcl/
 
 [5] flexdll.
@@ -190,7 +191,7 @@ Do *not* install the Mingw/MSYS development tools from www.mingw.org:
 these are not compatible with this Caml port (@responsefile not
 recognized on the command line).
 
-The LablTk GUI requires Tcl/Tk 8.4.  Windows binaries are available 
+The LablTk GUI requires Tcl/Tk 8.5.  Windows binaries are available 
 as part of the ActiveTCL distribution at
 http://www.activestate.com/products/ActiveTcl/
 
@@ -200,11 +201,11 @@ The binary distribution is a self-installing executable archive.
 Just run it and it should install OCaml automatically.
 
 To run programs that use the LablTK GUI, the directory where the
-DLLs tk84.dll and tcl84.dll were installed (by the Tcl/Tk
+DLLs tk85.dll and tcl85.dll were installed (by the Tcl/Tk
 installer) must be added to the PATH environment variable.
 
 To compile programs that use the LablTK GUI, the directory where the
-libraries tk84.lib and tcl84.lib were installed (by the Tcl/Tk
+libraries tk85.lib and tcl85.lib were installed (by the Tcl/Tk
 installer) must be added to the library search path in the LIB
 environment variable.  E.g. if Tcl/Tk was installed in C:\tcl, add
 "C:\tcl\lib" to the LIB environment variable.
@@ -217,7 +218,7 @@ You will need the following software components to perform the recompilation:
 - Cygwin: http://sourceware.cygnus.com/cygwin/
   Install at least the following packages: binutils, diffutils, 
     gcc-core, gcc-mingw-core, make, mingw-runtime, ncurses, w32-api.
-- TCL/TK version 8.4 (see above).
+- TCL/TK version 8.5 (see above).
 - The flexdll tool (see above).
 
 Do *not* install the standalone distribution of MinGW, nor the
diff --git a/VERSION b/VERSION
index 7798db3fc36f4ccb1c25e55125d4609d7544bd53..04797e62b2e668357ffebb085667ba3cfb4032e5 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
-3.11.2+rc1
+3.11.2
 
 # The version string is the first line of this file.
 # It must be in the format described in stdlib/sys.mli
 
-# $Id: VERSION 9500 2009-12-28 13:13:23Z doligez $
+# $Id: VERSION 9537 2010-01-20 12:19:26Z doligez $
index ba7a52fd2c251035cf9dbf8ab2081b1a2d69e132..3f402de4bad4b526d2accce4d713efdca20443ac 100755 (executable)
Binary files a/boot/ocamlc and b/boot/ocamlc differ
index b5289c880a947f552d7cf0d406eced6b822fedb3..c3dd96b4c045740d0264dc7947ddac85f070eabf 100755 (executable)
Binary files a/boot/ocamldep and b/boot/ocamldep differ
index 8bf7272ffc8d14e620308fa0814a4b8f4e2748f0..4d7a85ccf136f3a3cc85857c3f4602c5257cc0bf 100755 (executable)
Binary files a/boot/ocamllex and b/boot/ocamllex differ
index 81415ad3ee80adcad447b10a8cf7dda77eab9034..0d4608d598d878dfa88dc8e12d6a6635fcb168a5 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: boot-c-parts-windows.sh 8416 2007-10-08 14:19:34Z doligez $
+# $Id: boot-c-parts-windows.sh 9527 2010-01-14 14:45:42Z xclerc $
 cd `dirname $0`/..
 set -ex
 
@@ -13,7 +13,6 @@ set -ex
 mkdir -p _build/boot
 cp -f byterun/ocamlrun.exe \
       byterun/libcamlrun.$A \
-      byterun/ocamlrun.dll \
       asmrun/libasmrun.$A \
       yacc/ocamlyacc.exe \
       boot/ocamlc \
@@ -21,5 +20,4 @@ cp -f byterun/ocamlrun.exe \
       boot/ocamldep \
       _build/boot
 mkdir -p _build/byterun
-cp -f byterun/ocamlrun.exe byterun/ocamlrun.dll boot
-cp -f byterun/ocamlrun.$A _build/byterun
+cp -f byterun/ocamlrun.exe boot
index e3b77003573846be60ebbfc5f7ddc8f12e454aeb..73cd491522809db4ca4b1d108354bcb3400b8664 100755 (executable)
@@ -12,7 +12,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: install.sh 9289 2009-06-04 11:32:46Z doligez $
+# $Id: install.sh 9530 2010-01-15 13:33:23Z xclerc $
 
 set -e
 
@@ -132,7 +132,6 @@ cd ..
 WIN32=""
 if [ "x$EXE" = "x.exe" ]; then
   installbin win32caml/ocamlwin.exe $PREFIX/OCamlWin.exe
-  installdir byterun/ocamlrun.dll $BINDIR
   WIN32=win32
 fi
 
@@ -140,7 +139,7 @@ installdir otherlibs/"$WIN32"unix/unixsupport.h \
            otherlibs/bigarray/bigarray.h \
            $LIBDIR/caml
 
-installdir yacc/ocamlyacc byterun/ocamlrun $BINDIR
+installdir yacc/ocamlyacc$EXE byterun/ocamlrun$EXE $BINDIR
 
 installdir config/Makefile $LIBDIR/Makefile.config
 installdir byterun/ld.conf $LIBDIR
index c47ca5219c406419ff7984139940fd7e29f5ea4a..dcd81731b88eb67f1b5606268591b293a763269b 100755 (executable)
 #                                                                       #
 #########################################################################
 
-# $Id: mkmyocamlbuild_config.sh 8768 2008-01-11 16:13:18Z doligez $
+# $Id: mkmyocamlbuild_config.sh 9520 2010-01-11 14:34:40Z doligez $
 
 cd `dirname $0`/..
 
 sed \
     -e 's/^.*FLEXDIR.*$//g' \
     -e 's/^#ml \(.*\)/\1/' \
+    -e 's/^\([^"][^"]*\("[^"]*"[^"]*\)*\)#.*$/\1/' \
     -e 's/^\(#.*\)$/(* \1 *)/' \
     -e 's/^\(.*\$([0-9]).*\)$/(* \1 *)/' \
     -e 's/^\([^(=]*\)=\([^"]*\)$/let <:lower<\1>> = "\2";;/' \
index 1d9a4f492f0ab953c3189c33ae78c573617f2f7b..704edf4303b39a7f364bd2a5c0b686cf197f0a84 100644 (file)
@@ -10,7 +10,7 @@
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: bytelink.ml 9500 2009-12-28 13:13:23Z doligez $ *)
+(* $Id: bytelink.ml 9496 2009-12-28 13:05:36Z doligez $ *)
 
 (* Link a set of .cmo files and produce a bytecode executable. *)
 
index 0a2f04388f1fd4705ef12d4fd6adcce94cd06f84..0b00074afafc1feffd2ff6afdf250949ece31969 100644 (file)
@@ -11,7 +11,7 @@
 /*                                                                     */
 /***********************************************************************/
 
-/* $Id: interp.c 9279 2009-05-25 08:03:14Z xleroy $ */
+/* $Id: interp.c 9513 2010-01-08 10:33:23Z xleroy $ */
 
 /* The bytecode interpreter */
 #include <stdio.h>
@@ -157,7 +157,8 @@ sp is a local copy of the global variable caml_extern_sp. */
 #define SP_REG asm("a4")
 #define ACCU_REG asm("d7")
 #endif
-#ifdef __arm__
+/* PR#4953: these specific registers not available in Thumb mode */
+#if defined (__arm__) && !defined(__thumb__)
 #define PC_REG asm("r9")
 #define SP_REG asm("r8")
 #define ACCU_REG asm("r7")
index 5c08ee829651768c1d5ce55aa408ae90f9c93850..e338d8f946fd5e79a08b911bf7fb70ff02477c91 100644 (file)
@@ -11,7 +11,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile.mingw 9124 2008-11-09 09:44:24Z xleroy $
+# $Id: Makefile.mingw 9508 2010-01-04 15:52:44Z xleroy $
 
 # Configuration for Windows, Mingw compiler
 
@@ -145,11 +145,11 @@ BNG_ARCH=ia32
 BNG_ASM_LEVEL=1
 
 ### Configuration for LablTk
-# Set TK_ROOT to the directory where you installed TCL/TK 8.4
+# Set TK_ROOT to the directory where you installed TCL/TK 8.5
 # There must be no spaces or special characters in $(TK_ROOT)
 TK_ROOT=c:/tcl
 TK_DEFS=-I$(TK_ROOT)/include
-TK_LINK=$(TK_ROOT)/bin/tk84.dll $(TK_ROOT)/bin/tcl84.dll -lws2_32
+TK_LINK=$(TK_ROOT)/bin/tk85.dll $(TK_ROOT)/bin/tcl85.dll -lws2_32
 
 ############# Aliases for common commands
 
index 284a478eedbacb8e2bd8a08c74844aef2a51bc53..6ad0a339bc8606564b2255c4f618b2dc315007dc 100644 (file)
@@ -11,7 +11,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile.msvc 9126 2008-11-10 15:24:51Z xleroy $
+# $Id: Makefile.msvc 9526 2010-01-14 14:42:00Z xclerc $
 
 # Configuration for Windows, Visual C++ compiler
 
@@ -80,7 +80,7 @@ BYTECC=cl /nologo -D_CRT_SECURE_NO_DEPRECATE
 BYTECCCOMPOPTS=/Ox /MD
 
 ### Additional link-time options for $(BYTECC).  (For static linking.)
-BYTECCLINKOPTS=/MD /F16777216
+BYTECCLINKOPTS=
 
 ### Additional compile-time options for $(BYTECC).  (For building a DLL.)
 DLLCCCOMPOPTS=/Ox /MD
@@ -131,7 +131,7 @@ NATIVECC=cl /nologo -D_CRT_SECURE_NO_DEPRECATE
 NATIVECCCOMPOPTS=/Ox /MD
 
 ### Additional link-time options for $(NATIVECC)
-NATIVECCLINKOPTS=/MD /F16777216
+NATIVECCLINKOPTS=
 
 ### Build partially-linked object file
 PACKLD=link /lib /nologo /out:# there must be no space after this '/out:'
@@ -145,17 +145,17 @@ BNG_ARCH=generic
 BNG_ASM_LEVEL=0
 
 ### Configuration for LablTk
-# Set TK_ROOT to the directory where you installed TCL/TK 8.3
+# Set TK_ROOT to the directory where you installed TCL/TK 8.5
 TK_ROOT=c:/tcl
 TK_DEFS=-I$(TK_ROOT)/include
 # The following definition avoids hard-wiring $(TK_ROOT) in the libraries
 # produced by OCaml, and is therefore required for binary distribution
 # of these libraries.  However, $(TK_ROOT)/lib must be added to the LIB
 # environment variable, as described in README.win32.
-TK_LINK=tk84.lib tcl84.lib ws2_32.lib
+TK_LINK=tk85.lib tcl85.lib ws2_32.lib
 # An alternative definition that avoids mucking with the LIB variable,
 # but hard-wires the Tcl/Tk location in the binaries
-# TK_LINK=$(TK_ROOT)/tk84.lib $(TK_ROOT)/tcl84.lib ws2_32.lib
+# TK_LINK=$(TK_ROOT)/tk85.lib $(TK_ROOT)/tcl85.lib ws2_32.lib
 
 ############# Aliases for common commands
 
index e8bc54e955122c8cae9278230c6ba2df38a973ca..7dacd789a00984bfd98c48cd9e1344fc277061d8 100644 (file)
@@ -11,7 +11,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile.msvc64 8955 2008-07-29 08:31:41Z xleroy $
+# $Id: Makefile.msvc64 9526 2010-01-14 14:42:00Z xclerc $
 
 # Configuration for Windows, Visual C++ compiler
 
@@ -83,7 +83,7 @@ BYTECCCOMPOPTS=/Ox /MD
 BYTECCDBGCOMPOPTS=-DDEBUG /Zi /W3 /Wp64
 
 ### Additional link-time options for $(BYTECC).  (For static linking.)
-BYTECCLINKOPTS=/MD /F33554432
+BYTECCLINKOPTS=
 
 ### Additional compile-time options for $(BYTECC).  (For building a DLL.)
 DLLCCCOMPOPTS=/Ox /MD
@@ -135,7 +135,7 @@ NATIVECC=cl /nologo
 NATIVECCCOMPOPTS=/Ox /MD
 
 ### Additional link-time options for $(NATIVECC)
-NATIVECCLINKOPTS=/MD /F33554432
+NATIVECCLINKOPTS=
 
 ### Build partially-linked object file
 PACKLD=link /lib /nologo /machine:AMD64 /out:# there must be no space after this '/out:'
index 8aa21ba629411e4d7652c01d65ff752151cac895..972240d30af0e92153b379ae79582bb2a03182c3 100644 (file)
@@ -21,7 +21,7 @@ parser.cmi: parser_aux.cmi ../parsing/longident.cmi
 parser_aux.cmi: primitives.cmi ../parsing/longident.cmi 
 pattern_matching.cmi: ../typing/typedtree.cmi parser_aux.cmi debugcom.cmi 
 pos.cmi: ../bytecomp/instruct.cmi 
-primitives.cmi: ../otherlibs/unix/unix.cmi 
+primitives.cmi: $(UNIXDIR)/unix.cmi 
 printval.cmi: ../typing/types.cmi ../typing/path.cmi parser_aux.cmi \
     ../typing/env.cmi debugcom.cmi 
 program_loading.cmi: primitives.cmi 
@@ -33,14 +33,14 @@ source.cmi:
 symbols.cmi: ../bytecomp/instruct.cmi 
 time_travel.cmi: primitives.cmi 
 trap_barrier.cmi: 
-unix_tools.cmi: ../otherlibs/unix/unix.cmi 
+unix_tools.cmi: $(UNIXDIR)/unix.cmi 
 breakpoints.cmo: symbols.cmi primitives.cmi pos.cmi ../bytecomp/instruct.cmi \
     exec.cmi debugcom.cmi checkpoints.cmi breakpoints.cmi 
 breakpoints.cmx: symbols.cmx primitives.cmx pos.cmx ../bytecomp/instruct.cmx \
     exec.cmx debugcom.cmx checkpoints.cmx breakpoints.cmi 
 checkpoints.cmo: primitives.cmi int64ops.cmi debugcom.cmi checkpoints.cmi 
 checkpoints.cmx: primitives.cmx int64ops.cmx debugcom.cmx checkpoints.cmi 
-command_line.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi \
+command_line.cmo: unix_tools.cmi $(UNIXDIR)/unix.cmi \
     ../typing/types.cmi time_travel.cmi symbols.cmi source.cmi \
     show_source.cmi show_information.cmi question.cmi program_management.cmi \
     program_loading.cmi printval.cmi primitives.cmi pos.cmi parser_aux.cmi \
@@ -50,7 +50,7 @@ command_line.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi \
     events.cmi eval.cmi envaux.cmi debugger_config.cmi debugcom.cmi \
     ../typing/ctype.cmi ../utils/config.cmi checkpoints.cmi breakpoints.cmi \
     command_line.cmi 
-command_line.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx \
+command_line.cmx: unix_tools.cmx $(UNIXDIR)/unix.cmx \
     ../typing/types.cmx time_travel.cmx symbols.cmx source.cmx \
     show_source.cmx show_information.cmx question.cmx program_management.cmx \
     program_loading.cmx printval.cmx primitives.cmx pos.cmx parser_aux.cmi \
@@ -104,9 +104,9 @@ history.cmo: primitives.cmi int64ops.cmi debugger_config.cmi checkpoints.cmi \
     history.cmi 
 history.cmx: primitives.cmx int64ops.cmx debugger_config.cmx checkpoints.cmx \
     history.cmi 
-input_handling.cmo: ../otherlibs/unix/unix.cmi primitives.cmi \
+input_handling.cmo: $(UNIXDIR)/unix.cmi primitives.cmi \
     input_handling.cmi 
-input_handling.cmx: ../otherlibs/unix/unix.cmx primitives.cmx \
+input_handling.cmx: $(UNIXDIR)/unix.cmx primitives.cmx \
     input_handling.cmi 
 int64ops.cmo: int64ops.cmi 
 int64ops.cmx: int64ops.cmi 
@@ -120,12 +120,12 @@ loadprinter.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx printval.cmx \
     ../typing/printtyp.cmx ../typing/path.cmx ../utils/misc.cmx \
     ../parsing/longident.cmx ../typing/ident.cmx ../typing/env.cmx \
     dynlink.cmx ../typing/ctype.cmx ../utils/config.cmx loadprinter.cmi 
-main.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi time_travel.cmi \
+main.cmo: unix_tools.cmi $(UNIXDIR)/unix.cmi time_travel.cmi \
     show_information.cmi question.cmi program_management.cmi primitives.cmi \
     parameters.cmi ../utils/misc.cmi input_handling.cmi frames.cmi exec.cmi \
     ../typing/env.cmi debugger_config.cmi ../utils/config.cmi \
     command_line.cmi ../utils/clflags.cmi checkpoints.cmi 
-main.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx time_travel.cmx \
+main.cmx: unix_tools.cmx $(UNIXDIR)/unix.cmx time_travel.cmx \
     show_information.cmx question.cmx program_management.cmx primitives.cmx \
     parameters.cmx ../utils/misc.cmx input_handling.cmx frames.cmx exec.cmx \
     ../typing/env.cmx debugger_config.cmx ../utils/config.cmx \
@@ -148,8 +148,8 @@ pos.cmo: source.cmi primitives.cmi ../parsing/location.cmi \
     ../bytecomp/instruct.cmi pos.cmi 
 pos.cmx: source.cmx primitives.cmx ../parsing/location.cmx \
     ../bytecomp/instruct.cmx pos.cmi 
-primitives.cmo: ../otherlibs/unix/unix.cmi primitives.cmi 
-primitives.cmx: ../otherlibs/unix/unix.cmx primitives.cmi 
+primitives.cmo: $(UNIXDIR)/unix.cmi primitives.cmi 
+primitives.cmx: $(UNIXDIR)/unix.cmx primitives.cmi 
 printval.cmo: ../typing/types.cmi ../bytecomp/symtable.cmi \
     ../typing/printtyp.cmi ../typing/path.cmi parser_aux.cmi \
     ../typing/outcometree.cmi ../typing/oprint.cmi \
@@ -158,15 +158,15 @@ printval.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx \
     ../typing/printtyp.cmx ../typing/path.cmx parser_aux.cmi \
     ../typing/outcometree.cmi ../typing/oprint.cmx \
     ../toplevel/genprintval.cmx debugcom.cmx printval.cmi 
-program_loading.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi primitives.cmi \
+program_loading.cmo: unix_tools.cmi $(UNIXDIR)/unix.cmi primitives.cmi \
     parameters.cmi input_handling.cmi debugger_config.cmi program_loading.cmi 
-program_loading.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx primitives.cmx \
+program_loading.cmx: unix_tools.cmx $(UNIXDIR)/unix.cmx primitives.cmx \
     parameters.cmx input_handling.cmx debugger_config.cmx program_loading.cmi 
-program_management.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi \
+program_management.cmo: unix_tools.cmi $(UNIXDIR)/unix.cmi \
     time_travel.cmi symbols.cmi question.cmi program_loading.cmi \
     primitives.cmi parameters.cmi int64ops.cmi input_handling.cmi history.cmi \
     debugger_config.cmi breakpoints.cmi program_management.cmi 
-program_management.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx \
+program_management.cmx: unix_tools.cmx $(UNIXDIR)/unix.cmx \
     time_travel.cmx symbols.cmx question.cmx program_loading.cmx \
     primitives.cmx parameters.cmx int64ops.cmx input_handling.cmx history.cmx \
     debugger_config.cmx breakpoints.cmx program_management.cmi 
@@ -206,7 +206,7 @@ time_travel.cmx: trap_barrier.cmx symbols.cmx question.cmx \
     time_travel.cmi 
 trap_barrier.cmo: exec.cmi debugcom.cmi checkpoints.cmi trap_barrier.cmi 
 trap_barrier.cmx: exec.cmx debugcom.cmx checkpoints.cmx trap_barrier.cmi 
-unix_tools.cmo: ../otherlibs/unix/unix.cmi primitives.cmi ../utils/misc.cmi \
+unix_tools.cmo: $(UNIXDIR)/unix.cmi primitives.cmi ../utils/misc.cmi \
     unix_tools.cmi 
-unix_tools.cmx: ../otherlibs/unix/unix.cmx primitives.cmx ../utils/misc.cmx \
+unix_tools.cmx: $(UNIXDIR)/unix.cmx primitives.cmx ../utils/misc.cmx \
     unix_tools.cmi 
index 2856dcbdd942ed2ccbde9382b0daa88f67a300ab..1698183bdb8ccdbce4406e0a0c64ffe2bb9ed13d 100644 (file)
@@ -10,7 +10,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile.shared 9300 2009-06-18 11:17:16Z xclerc $
+# $Id: Makefile.shared 9529 2010-01-15 09:20:00Z doligez $
 
 include ../config/Makefile
 
@@ -99,7 +99,8 @@ clean::
        $(CAMLC) -c $(COMPFLAGS) $<
 
 depend: beforedepend
-       $(CAMLDEP) $(DEPFLAGS) *.mli *.ml > .depend
+       $(CAMLDEP) $(DEPFLAGS) *.mli *.ml \
+       | sed -e 's,$(UNIXDIR)/,$$(UNIXDIR)/,' > .depend
 
 lexer.ml: lexer.mll
        $(CAMLLEX) lexer.mll
index 7efed1f5b82968e558fcbfa0181fd9ef27cf64eb..3d5ab69dc6df05ff028714db60c782b78fa683bc 100644 (file)
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile.nt 5372 2003-01-06 14:57:22Z xleroy $
+# $Id: Makefile.nt 9528 2010-01-14 21:26:13Z doligez $
 
 # The lexer generator
 
+include ../config/Makefile
+
 CAMLC=../boot/ocamlrun ../boot/ocamlc -I ../boot
 CAMLOPT=../boot/ocamlrun ../ocamlopt -I ../stdlib
 COMPFLAGS=-warn-error A
index c27f0ac8d99974d4480f38f2e61a22da3adacb08..fb8189edc48f753d615a0e9f1e82702ad98daf61 100644 (file)
@@ -10,7 +10,7 @@
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: myocamlbuild.ml 9290 2009-06-04 11:33:21Z doligez $ *)
+(* $Id: myocamlbuild.ml 9531 2010-01-15 13:36:23Z xclerc $ *)
 
 open Ocamlbuild_plugin
 open Command
@@ -469,7 +469,7 @@ rule "Standard library manual"
     Seq[Cmd(S[A"mkdir"; A"-p"; P"ocamldoc/stdlib_man"]);
         Cmd(S[ocamldoc; A"-man"; A"-d"; P"ocamldoc/stdlib_man";
               A"-I"; P "stdlib"; A"-I"; P"otherlibs/unix"; A"-I"; P"otherlibs/num";
-              A"-t"; A"Ocaml library"; A"-man-mini"; atomize stdlib_mlis])]
+              A"-t"; A"OCaml library"; A"-man-mini"; atomize stdlib_mlis])]
   end;;
 
 flag ["ocaml"; "compile"; "bootstrap_thread"]
@@ -643,7 +643,7 @@ rule "camlheader"
 
 rule "ocaml C stubs on windows: dlib & d.o* -> dll"
   ~prod:"%.dll"
-  ~deps:["%.dlib"(*; "byterun/ocamlrun"-.-C.a*)]
+  ~deps:["%.dlib"(*; "byterun/libcamlrun"-.-C.a*)]
   ~insert:`top
   begin fun env build ->
     let dlib = env "%.dlib" in
@@ -659,7 +659,7 @@ rule "ocaml C stubs on windows: dlib & d.o* -> dll"
       | Outcome.Good d_o -> d_o
       | Outcome.Bad exn -> raise exn
     end resluts in
-    mkdll dll (S[atomize objs; P("byterun/ocamlrun"-.-C.a)])
+    mkdll dll (S[atomize objs; P("byterun/libcamlrun"-.-C.a)])
           (T(tags_of_pathname dll++"dll"++"link"++"c"))
   end;;
 
index 919e09221ddee3696fceb630e2c86131c15d3331..e5037efadf312e4280c8fbc5237a2035585310f5 100644 (file)
@@ -23,22 +23,25 @@ scheduler.o: scheduler.c ../../byterun/alloc.h \
   ../../byterun/misc.h
 condition.cmi: mutex.cmi 
 event.cmi: 
+marshal.cmi: 
 mutex.cmi: 
-thread.cmi: unix.cmo 
-threadUnix.cmi: unix.cmo 
+pervasives.cmi: 
+thread.cmi: unix.cmi 
+threadUnix.cmi: unix.cmi 
+unix.cmi: 
 condition.cmo: thread.cmi mutex.cmi condition.cmi 
 condition.cmx: thread.cmx mutex.cmx condition.cmi 
 event.cmo: mutex.cmi condition.cmi event.cmi 
 event.cmx: mutex.cmx condition.cmx event.cmi 
-marshal.cmo: pervasives.cmo 
-marshal.cmx: pervasives.cmx 
+marshal.cmo: pervasives.cmi marshal.cmi 
+marshal.cmx: pervasives.cmx marshal.cmi 
 mutex.cmo: thread.cmi mutex.cmi 
 mutex.cmx: thread.cmx mutex.cmi 
-pervasives.cmo: unix.cmo 
-pervasives.cmx: unix.cmx 
-thread.cmo: unix.cmo thread.cmi 
+pervasives.cmo: unix.cmi pervasives.cmi 
+pervasives.cmx: unix.cmx pervasives.cmi 
+thread.cmo: unix.cmi thread.cmi 
 thread.cmx: unix.cmx thread.cmi 
-threadUnix.cmo: unix.cmo thread.cmi threadUnix.cmi 
+threadUnix.cmo: unix.cmi thread.cmi threadUnix.cmi 
 threadUnix.cmx: unix.cmx thread.cmx threadUnix.cmi 
-unix.cmo: 
-unix.cmx: 
+unix.cmo: unix.cmi 
+unix.cmx: unix.cmi 
index da394be959efbbc3cf836f0e70f620d5d4a4d6e4..6adfbf20f8b6e657373e61389196ab8e94516c02 100644 (file)
@@ -6,6 +6,7 @@ dumpobj
 dumpapprox
 objinfo
 cvt_emit
+cvt_emit.bak
 cvt_emit.ml
 ocamlcp
 ocamlmktop
index 9b047123df92ef7df22ef367c22b84ada3f640dd..9d1e618504318a48da2f70461f9a467b0c391bdc 100644 (file)
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: ocamlmklib.mlp 9365 2009-10-02 12:32:45Z doligez $ *)
+(* $Id: ocamlmklib.mlp 9507 2010-01-04 15:50:25Z xleroy $ *)
 
 open Printf
 open Myocamlbuild_config
 
+(* PR#4783: under Windows, don't use absolute paths because we do
+   not know where the binary distribution will be installed. *)
+let compiler_path name =
+  if Sys.os_type = "Win32" then name else Filename.concat bindir name
+
 let bytecode_objs = ref []  (* .cmo,.cma,.ml,.mli files to pass to ocamlc *)
 and native_objs = ref []    (* .cmx,.cmxa,.ml,.mli files to pass to ocamlopt *)
 and c_objs = ref []         (* .o, .a, .obj, .lib, .dll files to pass to mksharedlib and ar *)
@@ -25,8 +30,8 @@ and failsafe = ref false    (* whether to fall back on static build only *)
 and c_libs = ref []         (* libs to pass to mksharedlib and ocamlc -cclib *)
 and c_opts = ref []      (* options to pass to mksharedlib and ocamlc -ccopt *)
 and ld_opts = ref []        (* options to pass only to the linker *)
-and ocamlc = ref (Filename.concat bindir "ocamlc")
-and ocamlopt = ref (Filename.concat bindir "ocamlopt")
+and ocamlc = ref (compiler_path "ocamlc")
+and ocamlopt = ref (compiler_path "ocamlopt")
 and output = ref "a"        (* Output name for Caml part of library *)
 and output_c = ref ""       (* Output name for C part of library *)
 and rpath = ref []          (* rpath options *)
index c6dd602ff3e0af223866a62dea6e4d67c85a465b..7b4c92ddbce0de84842d601de3aeb87168d63b97 100644 (file)
@@ -10,7 +10,7 @@
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: typedecl.ml 9292 2009-06-08 04:08:14Z garrigue $ *)
+(* $Id: typedecl.ml 9509 2010-01-06 11:32:57Z garrigue $ *)
 
 (**** Typing of type definitions ****)
 
@@ -184,11 +184,7 @@ let transl_declaration env (name, sdecl) id =
           None -> None
         | Some sty ->
             let no_row = not (is_fixed_type sdecl) in
-            let ty =
-              transl_simple_type env no_row sty in
-            if Ctype.cyclic_abbrev env id ty then
-              raise(Error(sdecl.ptype_loc, Recursive_abbrev name));
-            Some ty
+            Some (transl_simple_type env no_row sty)
         end;
       type_variance = List.map (fun _ -> true, true, true) params;
     } in
@@ -200,12 +196,19 @@ let transl_declaration env (name, sdecl) id =
         raise(Error(loc, Unconsistent_constraint tr)))
     cstrs;
   Ctype.end_def ();
+  (* Add abstract row *)
   if is_fixed_type sdecl then begin
     let (p, _) =
       try Env.lookup_type (Longident.Lident(Ident.name id ^ "#row")) env
       with Not_found -> assert false in
     set_fixed_row env sdecl.ptype_loc p decl
   end;
+  (* Check for cyclic abbreviations *)
+  begin match decl.type_manifest with None -> ()
+  | Some ty ->
+      if Ctype.cyclic_abbrev env id ty then
+        raise(Error(sdecl.ptype_loc, Recursive_abbrev name));
+  end;
   (id, decl)
 
 (* Generalize a type declaration *)